Telegram Group & Telegram Channel
Как вы используете трансляцию(broadcasting) в Laravel?

Laravel обеспечивает трансляцию событий в реальном времени с помощью каналов и слушателей. Вот как использовать трансляцию в Laravel:

Шаг 1: Создайте событие

Создайте событие, которое должно транслироваться. Вы можете создать событие, выполнив следующую команду в терминале:

php artisan make:event OrderShipped

Эта команда создаст новое событие класса OrderShipped.

Шаг 2: Зарегистрируйте событие в EventServiceProvider

Добавьте событие OrderShipped в свойство $listen в EventServiceProvider. Это позволит транслировать событие на указанный канал(ы).
protected $listen = [
'App\Events\OrderShipped' => [
'App\Listeners\SendShipmentNotification'
],
];

Шаг 3: Создайте канал

Создайте канал, который будет транслировать событие желаемым слушателям. Вы можете создать канал, выполнив следующую команду:

php artisan make:channel OrderChannel

Эта команда создаст новый канал класса OrderChannel.

Шаг 4: Трансляция события

Транслируйте событие OrderShipped на нужный канал (каналы) с помощью метода broadcast.
use App\Events\OrderShipped;

broadcast(new OrderShipped($order))->toOthers();


Это позволит транслировать событие OrderShipped всем другим подключенным клиентам на указанном канале.

Прослушивание транслируемых событий

Чтобы прослушивать транслируемые события, необходимо создать слушателя, который будет получать транслируемое событие. Вот как создать слушателя:

Шаг 1: Создание слушателя

Создайте слушатель, который будет обрабатывать транслируемое событие. Вы можете создать слушателя, выполнив следующую команду:


php artisan make:listener SendShipmentNotification

Эта команда создаст новый класс слушателя SendShipmentNotification.

Шаг 2: Реализация метода Handle

Реализуйте метод handle, чтобы определить, что должно быть сделано при передаче события.

public function handle(OrderShipped $event)
{
// Отправляем уведомление об отгрузке покупателю
}


Шаг 3: Регистрация слушателя

Зарегистрируйте слушатель SendShipmentNotification в свойстве $listen в EventServiceProvider.

protected $listen = [
'App\Events\OrderShipped' => [
'App\Listeners\SendShipmentNotification'
],
];

Трансляция с помощью Socket.IO

Laravel предоставляет драйвер вещания Socket.IO из коробки. Чтобы использовать этот драйвер, необходимо установить пакеты socket.io-client и laravel-echo.


npm install --save socket.io-client laravel-echo

После установки пакетов необходимо создать новый экземпляр объекта Echo и сконфигурировать его с деталями трансляции в файле resources/js/bootstrap.js.

import Echo from 'laravel-echo'

window.Echo = new Echo({
broadcaster: 'socket.io',
host: window.location.hostname + ':6001',
});


Теперь вы можете использовать объект Echo для прослушивания транслируемых событий.

window.Echo.channel('orders')
.listen('.order.shipped', function(data) {
console.log('Заказ отправлен', data);
});

Это позволит прослушать событие order.shipped на канале orders и вывести данные в консоль при получении события.

После установки пакетов необходимо создать новый экземпляр объекта Echo и сконфигурировать его с деталями трансляции в файле resources/js/bootstrap.js.



tg-me.com/php_interview_lib/828
Create:
Last Update:

Как вы используете трансляцию(broadcasting) в Laravel?

Laravel обеспечивает трансляцию событий в реальном времени с помощью каналов и слушателей. Вот как использовать трансляцию в Laravel:

Шаг 1: Создайте событие

Создайте событие, которое должно транслироваться. Вы можете создать событие, выполнив следующую команду в терминале:

php artisan make:event OrderShipped

Эта команда создаст новое событие класса OrderShipped.

Шаг 2: Зарегистрируйте событие в EventServiceProvider

Добавьте событие OrderShipped в свойство $listen в EventServiceProvider. Это позволит транслировать событие на указанный канал(ы).

protected $listen = [
'App\Events\OrderShipped' => [
'App\Listeners\SendShipmentNotification'
],
];

Шаг 3: Создайте канал

Создайте канал, который будет транслировать событие желаемым слушателям. Вы можете создать канал, выполнив следующую команду:

php artisan make:channel OrderChannel

Эта команда создаст новый канал класса OrderChannel.

Шаг 4: Трансляция события

Транслируйте событие OrderShipped на нужный канал (каналы) с помощью метода broadcast.
use App\Events\OrderShipped;

broadcast(new OrderShipped($order))->toOthers();


Это позволит транслировать событие OrderShipped всем другим подключенным клиентам на указанном канале.

Прослушивание транслируемых событий

Чтобы прослушивать транслируемые события, необходимо создать слушателя, который будет получать транслируемое событие. Вот как создать слушателя:

Шаг 1: Создание слушателя

Создайте слушатель, который будет обрабатывать транслируемое событие. Вы можете создать слушателя, выполнив следующую команду:


php artisan make:listener SendShipmentNotification

Эта команда создаст новый класс слушателя SendShipmentNotification.

Шаг 2: Реализация метода Handle

Реализуйте метод handle, чтобы определить, что должно быть сделано при передаче события.

public function handle(OrderShipped $event)
{
// Отправляем уведомление об отгрузке покупателю
}


Шаг 3: Регистрация слушателя

Зарегистрируйте слушатель SendShipmentNotification в свойстве $listen в EventServiceProvider.

protected $listen = [
'App\Events\OrderShipped' => [
'App\Listeners\SendShipmentNotification'
],
];

Трансляция с помощью Socket.IO

Laravel предоставляет драйвер вещания Socket.IO из коробки. Чтобы использовать этот драйвер, необходимо установить пакеты socket.io-client и laravel-echo.


npm install --save socket.io-client laravel-echo

После установки пакетов необходимо создать новый экземпляр объекта Echo и сконфигурировать его с деталями трансляции в файле resources/js/bootstrap.js.

import Echo from 'laravel-echo'

window.Echo = new Echo({
broadcaster: 'socket.io',
host: window.location.hostname + ':6001',
});


Теперь вы можете использовать объект Echo для прослушивания транслируемых событий.

window.Echo.channel('orders')
.listen('.order.shipped', function(data) {
console.log('Заказ отправлен', data);
});

Это позволит прослушать событие order.shipped на канале orders и вывести данные в консоль при получении события.

После установки пакетов необходимо создать новый экземпляр объекта Echo и сконфигурировать его с деталями трансляции в файле resources/js/bootstrap.js.

BY Библиотека собеса по PHP | вопросы с собеседований


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/php_interview_lib/828

View MORE
Open in Telegram


Библиотека собеса по PHP | вопросы с собеседований Telegram | DID YOU KNOW?

Date: |

Telegram auto-delete message, expiring invites, and more

elegram is updating its messaging app with options for auto-deleting messages, expiring invite links, and new unlimited groups, the company shared in a blog post. Much like Signal, Telegram received a burst of new users in the confusion over WhatsApp’s privacy policy and now the company is adopting features that were already part of its competitors’ apps, features which offer more security and privacy. Auto-deleting messages were already possible in Telegram’s encrypted Secret Chats, but this new update for iOS and Android adds the option to make messages disappear in any kind of chat. Auto-delete can be enabled inside of chats, and set to delete either 24 hours or seven days after messages are sent. Auto-delete won’t remove every message though; if a message was sent before the feature was turned on, it’ll stick around. Telegram’s competitors have had similar features: WhatsApp introduced a feature in 2020 and Signal has had disappearing messages since at least 2016.

Библиотека собеса по PHP | вопросы с собеседований from sg


Telegram Библиотека собеса по PHP | вопросы с собеседований
FROM USA